#pragma once
#ifndef _COORDTRANSFER_H
#define _COORDTRANSFER_H

#include "MyMatrix.hpp"


#ifndef COORD_NAME
#define COORD_NAME
#define X 0
#define Y 1
#define Z 2
#endif

class CoordTransfer
{
public:
  virtual bool set_transfer_data (const MyMatrix< float >& dataToSet) = 0;
  virtual MyMatrix< float > get_transfer_data () = 0;
  virtual bool calibrate (IN const MyMatrix< float >& cameraPoints, IN const MyMatrix< float >& projecterPoints) = 0;
  virtual bool camera_to_projector (IN const Array< float >& cameraPoint, OUT Array< float >& projectorPoint) = 0;
};

#endif